People spend increasing amounts of time and effort interacting with complex hardware and software products. Some of the products we interact with are easy to learn and easy to remember. Some are even a pleasure to use. Others are hard to learn, hard to use, and frustrate us at every turn. But it is [...]